package com.zros.modules.business.entity;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;

import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * <p>
 * 线索表
 * </p>
 *
 * @author pangyinqiang
 * @since 2019-04-17
 */
//@Data
//@EqualsAndHashCode(callSuper = false)
//@Accessors(chain = true)
@TableName("t_info_clue")
@ApiModel(value="Clue对象", description="线索表")
public class Clue extends Model<Clue> {

    private static final long serialVersionUID = 1L;

    @TableId(value = "clue_id", type = IdType.ID_WORKER)
    private Long clueId;

    @ApiModelProperty(value = "线索所属校区id")
    private Long orgId;

    @ApiModelProperty(value = "创建线索者id")
    private Long creator;

    @ApiModelProperty(value = "线索创建当前时间，咨询时间")
    private LocalDateTime createTime;

    @ApiModelProperty(value = "渠道id")
    private Long channelId;
 
    @ApiModelProperty(value = "线索客户姓名")
    private String customerName;

    @ApiModelProperty(value = "线索客户年龄")
    private String customerAge;

    @ApiModelProperty(value = "线索客户性别")
    private String customerGender;

    @ApiModelProperty(value = "线索客户电话")
    private String customerPhone;

    @ApiModelProperty(value = "线索备注")
    private String customerRemark;

    @ApiModelProperty(value = "承诺到访状态 0:否；1:是")
    private String isPromiseVisit;

    @ApiModelProperty(value = "承诺到访日期")
    @TableField(strategy = FieldStrategy.IGNORED)
    private LocalDate promiseVisitDate;

    @ApiModelProperty(value = "确定到访状态 0:否；1:是")
    private String isSureVisit;

    @ApiModelProperty(value = "确定到访时间")
    @TableField(strategy = FieldStrategy.IGNORED)
    private LocalTime sureVisitDate;

    @ApiModelProperty(value = "是否到访状态 0:否；1:是")
    private String isVisit;

    @ApiModelProperty(value = "未到访原因")
    @TableField(strategy = FieldStrategy.IGNORED)
    private String noVisitReason;

    @ApiModelProperty(value = "到访时间")
    @TableField(strategy = FieldStrategy.IGNORED)
    private LocalDateTime visitTime;

    @ApiModelProperty(value = "是否试听状态 0:否；1:是")
    private String isAudition;

    @ApiModelProperty(value = "是否报名状态 0:否；1:是")
    private String isEnroll;

    @ApiModelProperty(value = "未报名状态码 0:暂时不选；1:距离远；2:价格高；3:有更好选择；4:其他")
    @TableField(strategy = FieldStrategy.IGNORED)
    private String noEnrollReason;

    @ApiModelProperty(value = "未报名原因补充")
    @TableField(strategy = FieldStrategy.IGNORED)
    private String noEnrollReasonRemark;

    @ApiModelProperty(value = "是否为有效线索状态 0:否；1:是")
    private String isAvailable;

    @ApiModelProperty(value = "线索状态码 0:默认；1:有需求；2:有意向；3:有望成交；4:无法联系；5:无需求；6:号码错误")
    private String clueStatusCode;
    	
    @ApiModelProperty(value = "下次跟进日期")
    @TableField(strategy = FieldStrategy.IGNORED)
    private LocalDate nextFollowTime;

    @ApiModelProperty(value = "是否置顶状态 0:否；1:是")
    private String isTop;

    @ApiModelProperty(value = "线索创建后分配到哪个用户名下")
    private Long ownerId;

    @ApiModelProperty(value = "最后跟进时间")
    private LocalDateTime lastFollowTime;

    @ApiModelProperty(value = "跟进次数")
    private Integer updateCount;

    @ApiModelProperty(value = "更新者")
    private Long operator;

    @ApiModelProperty(value = "修改记录时间")
    private LocalDateTime updateTime;

    @ApiModelProperty(value = "删除标记 0:未删除 1:已删除")
    @TableLogic
    private String delFlag;

    @ApiModelProperty(value = "备注")
    private String remark;

	public static long getSerialversionuid() {
		return serialVersionUID;
	}

	public Long getClueId() {
		return clueId;
	}

	public void setClueId(Long clueId) {
		this.clueId = clueId;
	}

	public Long getOrgId() {
		return orgId;
	}

	public void setOrgId(Long orgId) {
		this.orgId = orgId;
	}

	public Long getCreator() {
		return creator;
	}

	public void setCreator(Long creator) {
		this.creator = creator;
	}

	public LocalDateTime getCreateTime() {
		return createTime;
	}

	public void setCreateTime(LocalDateTime createTime) {
		this.createTime = createTime;
	}

	
	public Long getChannelId() {
		return channelId;
	}

	public void setChannelId(Long channelId) {
		this.channelId = channelId;
	}

	public String getCustomerName() {
		return customerName;
	}

	public void setCustomerName(String customerName) {
		this.customerName = customerName;
	}

	public String getCustomerAge() {
		return customerAge;
	}

	public void setCustomerAge(String customerAge) {
		this.customerAge = customerAge;
	}

	public String getCustomerGender() {
		return customerGender;
	}

	public void setCustomerGender(String customerGender) {
		this.customerGender = customerGender;
	}

	public String getCustomerPhone() {
		return customerPhone;
	}

	public void setCustomerPhone(String customerPhone) {
		this.customerPhone = customerPhone;
	}

	public String getCustomerRemark() {
		return customerRemark;
	}

	public void setCustomerRemark(String customerRemark) {
		this.customerRemark = customerRemark;
	}

	public String getIsPromiseVisit() {
		return isPromiseVisit;
	}

	public void setIsPromiseVisit(String isPromiseVisit) {
		this.isPromiseVisit = isPromiseVisit;
	}

	public LocalDate getPromiseVisitDate() {
		return promiseVisitDate;
	}

	public void setPromiseVisitDate(LocalDate promiseVisitDate) {
		this.promiseVisitDate = promiseVisitDate;
	}

	public String getIsSureVisit() {
		return isSureVisit;
	}

	public void setIsSureVisit(String isSureVisit) {
		this.isSureVisit = isSureVisit;
	}

	public LocalTime getSureVisitDate() {
		return sureVisitDate;
	}

	public void setSureVisitDate(LocalTime sureVisitDate) {
		this.sureVisitDate = sureVisitDate;
	}

	public String getIsVisit() {
		return isVisit;
	}

	public void setIsVisit(String isVisit) {
		this.isVisit = isVisit;
	}

	public String getNoVisitReason() {
		return noVisitReason;
	}

	public void setNoVisitReason(String noVisitReason) {
		this.noVisitReason = noVisitReason;
	}

	public LocalDateTime getVisitTime() {
		return visitTime;
	}

	public void setVisitTime(LocalDateTime visitTime) {
		this.visitTime = visitTime;
	}

	public String getIsAudition() {
		return isAudition;
	}

	public void setIsAudition(String isAudition) {
		this.isAudition = isAudition;
	}

	public String getIsEnroll() {
		return isEnroll;
	}

	public void setIsEnroll(String isEnroll) {
		this.isEnroll = isEnroll;
	}

	public String getNoEnrollReason() {
		return noEnrollReason;
	}

	public void setNoEnrollReason(String noEnrollReason) {
		this.noEnrollReason = noEnrollReason;
	}

	public String getNoEnrollReasonRemark() {
		return noEnrollReasonRemark;
	}

	public void setNoEnrollReasonRemark(String noEnrollReasonRemark) {
		this.noEnrollReasonRemark = noEnrollReasonRemark;
	}

	public String getIsAvailable() {
		return isAvailable;
	}

	public void setIsAvailable(String isAvailable) {
		this.isAvailable = isAvailable;
	}

	public String getClueStatusCode() {
		return clueStatusCode;
	}

	public void setClueStatusCode(String clueStatusCode) {
		this.clueStatusCode = clueStatusCode;
	}

	public LocalDate getNextFollowTime() {
		return nextFollowTime;
	}

	public void setNextFollowTime(LocalDate nextFollowTime) {
		this.nextFollowTime = nextFollowTime;
	}

	public String getIsTop() {
		return isTop;
	}

	public void setIsTop(String isTop) {
		this.isTop = isTop;
	}

	public Long getOwnerId() {
		return ownerId;
	}

	public void setOwnerId(Long ownerId) {
		this.ownerId = ownerId;
	}

	public LocalDateTime getLastFollowTime() {
		return lastFollowTime;
	}

	public void setLastFollowTime(LocalDateTime lastFollowTime) {
		this.lastFollowTime = lastFollowTime;
	}

	public Integer getUpdateCount() {
		return updateCount;
	}

	public void setUpdateCount(Integer updateCount) {
		this.updateCount = updateCount;
	}

	
	public Long getOperator() {
		return operator;
	}

	public void setOperator(Long operator) {
		this.operator = operator;
	}

	public LocalDateTime getUpdateTime() {
		return updateTime;
	}

	public void setUpdateTime(LocalDateTime updateTime) {
		this.updateTime = updateTime;
	}

	public String getDelFlag() {
		return delFlag;
	}

	public void setDelFlag(String delFlag) {
		this.delFlag = delFlag;
	}

	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

	


}
